package com.suzhenyu.dubbo;

import com.alibaba.dubbo.common.extension.ExtensionLoader;
import com.suzhenyu.service.Shape;

/**
 * @author suzy2
 */
public class DubboSpiAdaptive {

    public static void main(String[] args) {
        ExtensionLoader<Shape> shapeExtensionLoader=ExtensionLoader.getExtensionLoader(Shape.class);

        // 第一步 进行java 代码的拼接
        // 第二部进行compile
        // 加载class
        // 创建实例
        Shape shape =shapeExtensionLoader.getAdaptiveExtension();
        shape.draw("triangle");
        //  如果加了 Adaptive 注解  则不能通过 getExtension 获取 因为 loadclass的时候做了分类
    /*    shape =shapeExtensionLoader.getExtension("triangle");
        shape.draw("triangle");*/


    }

}
